/*
全局操作权限指令 v-permission
用法: v-permission={ btnCode: xxx,userId: xxxxx }
btnCode为配置的按钮权限，userId前端判断当前用户是否为负责人或审批人
*/

import store from '@/store'

function permission(el, binding) {
    const { btnCode, userId } = binding.value
    const idUser = store.getters.idUser
    const btns = store.getters['user/pageRights']

    const btnPer = !btnCode || btns.has(btnCode)
    // const userPer = (!userId || userId === idUser)

    // ！！！强烈建议这里只判断是否有按钮权限，不要做需要响应的权限判断，不然每次变化列表所有按钮都要走一遍display设置

    // 如果没有按钮权限直接删除dom
    if (!btnPer) {
        el.parentNode && el.parentNode.removeChild(el)
        return
    }
    // 下面不要开启，已经选择用v-show配置自定义指令做限制，开启后会冲突
    // 如果有按钮权限但user权限不对应，按钮都不显示
    //     if (!userPer) {
    //         el.style.display = 'none'
    //     } else {
    //         el.style.display = 'inline-block'
    //     }
}

export default {
    inserted(el, binding) {
        permission(el, binding)
    },
    update(el, binding) {
        permission(el, binding)
    }
}
